home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / etc / RCS / shmctl.man,v < prev    next >
Text File  |  1990-06-27  |  4KB  |  226 lines

  1. head     1.3;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.3
  10. date     90.06.27.11.18.29;  author shirriff;  state Exp;
  11. branches ;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     90.03.19.13.32.56;  author jhh;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     90.02.20.14.06.24;  author jhh;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24.  
  25. desc
  26. @@
  27.  
  28.  
  29. 1.3
  30. log
  31. @Added BUGS section.
  32. @
  33. text
  34. @.\" SCCSID: @@(#)shmctl.2    4.1    12/9/88
  35. .TH shmctl 2
  36. .\" Last modified by BAM on 31-Oct-1985 1300.
  37. .\"
  38. .\" Last modified by BAM on 8-Aug-85  1300  
  39. .\"
  40. .SH NAME
  41. shmctl \- shared memory control operations
  42. .SH SYNTAX
  43. .nf
  44. .ft B
  45. #include <sys/types.h>
  46. #include <sys/ipc.h>
  47. #include <sys/shm.h>
  48. .PP
  49. .ft B
  50. int shmctl (shmid, cmd, buf)
  51. int shmid, cmd;
  52. struct shmid_ds *buf;
  53. .fi
  54. .SH DESCRIPTION
  55. .NXR "shmctl system call"
  56. .NXA "shmctl system cal" "plock system call"
  57. .NXA "shmctl system call" "shmop system call"
  58. .NXR "shared memory" "control operations"
  59. The
  60. .PN shmctl
  61. system call
  62. provides a variety of shared memory
  63. control operations as specified by
  64. .I cmd.
  65. The following 
  66. .I cmds
  67. are available:
  68. .NXR "shmctl system call" "commands"
  69. .TP 15
  70. .B IPC_STAT
  71. Place the current value of each member
  72. of the data structure associated with
  73. .I shmid
  74. into the structure pointed to by 
  75. .IR buf .
  76. The contents of this structure are defined in
  77. .MS intro 2 .
  78. .TP 15
  79. .B IPC_SET
  80. Set the value of the following members
  81. of the data structure associated with
  82. .I shmid
  83. to the corresponding value found
  84. in the structure pointed to by
  85. .IR buf :
  86. .EX
  87. shm_perm.uid
  88. shm_perm.gid
  89. shm_perm.mode    /* only low 9 bits */
  90. .EE
  91. .RS 8
  92. .PP
  93. This 
  94. .I cmd
  95. can only be executed by a process
  96. that has an effective user ID equal to
  97. either that of super user or to the value of
  98. .B shm_perm.uid
  99. in the data structure associated with 
  100. .I shmid.
  101. .RE
  102. .TP 15
  103. .B IPC_RMID
  104. Remove the shared memory identifier specified by 
  105. .I shmid
  106. from the system and destroy the shared
  107. memory segment and data structure
  108. associated with it. This
  109. .I cmd
  110. can only be executed by a process that
  111. has an effective user ID equal to
  112. either that of super user or to the value of 
  113. .B shm_perm.uid
  114. in the data structure associated with
  115. .IR shmid .
  116. .TP 15
  117. .B SHM_LOCK
  118. Lock the shared memory segment specified by
  119. .I shmid
  120. in memory.
  121. This 
  122. .I cmd
  123. can only be executed by a process that has an effective usr ID equal to
  124. super user.
  125. .TP 15
  126. .B SHM_UNLOCK
  127. Unlock the shared memory segment specified by
  128. .I shmid.
  129. This 
  130. .I cmd
  131. can only be executed by a process that has an effective usr ID equal to
  132. super user.
  133. .SH RETURN VALUE
  134. Upon successful completion, a value of 0 is returned.
  135. Otherwise, a value of -1 is returned and 
  136. .I errno 
  137. is set to indicated the error.
  138. .SH DIAGNOSTICS
  139. .NXR "shmctl system call" "diagnostics"
  140. The
  141. .PN shmctl
  142. system call
  143. will fail if one or more of the following are true:
  144. .TP 15
  145. [EINVAL]
  146. The
  147. .I shmid
  148. is not a valid shared memory identifier. 
  149. .TP 15
  150. [EINVAL]
  151. The
  152. .I cmd
  153. is not a valid command.  
  154. .TP 15
  155. [EACCES]
  156. The
  157. .I cmd
  158. is equal to IPC_STAT
  159. and read permission is
  160. denied to the calling process.  For further information, see
  161. .MS errno 2 . 
  162. .TP 15
  163. [EPERM]
  164. The
  165. .I cmd
  166. is equal to IPC_RMID or IPC_SET
  167. and the effective user ID of the
  168. calling process is not equal to that of
  169. super user and it is not equal to the value of 
  170. .B shm_perm.uid
  171. in the data structure associated with
  172. .I shmid. 
  173. .TP 15
  174. [EPERM]
  175. The
  176. .I cmd
  177. is equal to SHM_LOCK
  178. or SHM_UNLOCK
  179. and the effective user ID
  180. of the calling process is not equal to that of superuser.
  181. .TP 15
  182. [EINVAL]
  183. The
  184. .I cmd
  185. is equal to SHM_LOCK 
  186. and the shared memory segment is currently locked by
  187. this process.
  188. .TP 15
  189. [EINVAL]
  190. The
  191. .I cmd
  192. is equal to SHM_UNLOCK 
  193. and the shared memory segment specified by 
  194. .I shmid
  195. is not currently locked in memory by
  196. this process.
  197. .TP 15
  198. [EFAULT]
  199. The
  200. .I buf
  201. points to an illegal address. 
  202. .SH SEE ALSO
  203. shmget(2), shmop(2)
  204. .SH BUGS
  205. The System V shared memory functions are implemented at user level on top
  206. of the mmap(2) interface.  Not all the System V functionality is
  207. implemented.
  208. @
  209.  
  210.  
  211. 1.2
  212. log
  213. @assorted man pages
  214. @
  215. text
  216. @d171 4
  217. @
  218.  
  219.  
  220. 1.1
  221. log
  222. @Initial revision
  223. @
  224. text
  225. @@
  226.